package com.ruoyi.hiscomm.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.util.Objects;

/**
 * @ClassName PriceListDo
 * @Author samula
 * @Descripe product by com.doctcloud
 * @Data 2025-09-22 10:54
 **/
@AllArgsConstructor
@NoArgsConstructor
public class PriceListDo extends BaseEntity {
    private static final long serialVersionUID = 1L;
    /** 费用类别代码 */
    @Excel(name = "类别代码")
    private String  itemClass;
    @Excel(name = "项目代码")
    private String itemCode;
    @Excel(name = "项目名称")
    private String itemName;
    @Excel(name = "项目规格")
    private String itemSpec;
    @Excel(name = "单位")
    private String units;
    @Excel(name = "单价")
    private Double price;
    @Excel(name = "启用时间")
    private Date startDate;
    @Excel(name = "停用时间")
    private Date stopDate;

    public String getItemClass() {
        return itemClass;
    }

    public void setItemClass(String itemClass) {
        this.itemClass = itemClass;
    }

    public String getItemCode() {
        return itemCode;
    }

    public void setItemCode(String itemCode) {
        this.itemCode = itemCode;
    }

    public String getItemName() {
        return itemName;
    }

    public void setItemName(String itemName) {
        this.itemName = itemName;
    }

    public String getItemSpec() {
        return itemSpec;
    }

    public void setItemSpec(String itemSpec) {
        this.itemSpec = itemSpec;
    }

    public String getUnits() {
        return units;
    }

    public void setUnits(String units) {
        this.units = units;
    }

    public Double getPrice() {
        return price;
    }

    public void setPrice(Double price) {
        this.price = price;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public Date getStopDate() {
        return stopDate;
    }

    public void setStopDate(Date stopDate) {
        this.stopDate = stopDate;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        PriceListDo that = (PriceListDo) o;
        return Objects.equals(itemClass, that.itemClass) && Objects.equals(itemCode, that.itemCode) && Objects.equals(itemSpec, that.itemSpec) && Objects.equals(units, that.units) && Objects.equals(startDate, that.startDate);
    }

    @Override
    public int hashCode() {
        return Objects.hash(itemClass, itemCode, itemSpec, units, startDate);
    }

    @Override
    public String toString() {
        return "PriceListDo{" +
                "itemClass='" + itemClass + '\'' +
                ", itemCode='" + itemCode + '\'' +
                ", itemName='" + itemName + '\'' +
                ", itemSpec='" + itemSpec + '\'' +
                ", units='" + units + '\'' +
                ", price=" + price +
                ", startDate=" + startDate +
                ", stopDate=" + stopDate +
                '}';
    }
}
